﻿''' <summary>
''' attribute for class representing a content
''' </summary>
''' <remarks></remarks>
Public Class ContentType
    Inherits MysteryClassAttribute


    ''' <summary>
    ''' define it if you would like than for example it shall be readed and store with a different names
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks>by default the class name (without namespace) will be used
    ''' it allow to complite change the implementation</remarks>
    Public Property name As String

    ''' <summary>
    ''' how it should be called in the UI
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks>by default the class name (without namespace)</remarks>
    Public Property label As String

    ''' <summary>
    ''' how it should be called in the UI when more then one
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks>by default the class name (without namespace)</remarks>
    Public Property list_label As String


    Public Overrides Sub setUp()
        If String.IsNullOrEmpty(name) Then name = used_in.Name
        If String.IsNullOrEmpty(label) Then label = name
        If String.IsNullOrEmpty(list_label) Then list_label = label
    End Sub
End Class
